﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using System.Xml.Linq;

//namespace CPPEI.Coolzon.DisplayApp
//{
//    [XConfigRoot("Environment")]
//    public class CZEnvironment
//    {
//        private static Version _version;

//        /// <summary>
//        /// 获得主程序的版本号
//        /// </summary>
//        public static Version Version
//        {
//            get
//            {
//                if (_version == null)
//                {
//                    _version = typeof(CZEnvironment).Assembly.GetName().Version;
//                }
//                return _version;
//            }
//        }

//        /// <summary>
//        /// 获得主程序的版本-.-.-
//        /// </summary>
//        public static string Version3
//        {
//            get
//            {
//                return Version.ToString(3);
//            }
//        }

//        /// <summary>
//        /// 版本信息-.-.-.-
//        /// </summary>
//        public static string Version4
//        {
//            get
//            {
//                return Version.ToString(4);
//            }
//        }

//        private static CZEnvironment s_instance;
//        public static CZEnvironment Instance
//        {
//            get
//            {
//                if (s_instance == null)
//                {
//                    s_instance = new CZEnvironment();
//                }
//                return s_instance;
//            }
//        }

//        /// <summary>
//        /// 是否显示activex组件
//        /// </summary>
//        [XConfig("IsShowActiveXPart", false)]
//        public bool IsShowActiveXPart { get; private set; }

//        /// <summary>
//        /// 是否自动创建控制域
//        /// </summary>
//        [XConfig("IsAutoCreateDomain", true)]
//        public bool IsAutoCreateDomain { get; private set; }

//        /// <summary>
//        /// 登录模式
//        /// </summary>
//        [XConfig("LoginMode", "Windows")]
//        public string LoginMode { get; private set; }

//        /// <summary>
//        /// 是否全屏显示
//        /// </summary>
//        [XConfig("IsFullScreen", true)]
//        public bool IsFullScreen { get; private set; }

//        /// <summary>
//        /// 更新服务配置
//        /// </summary>
//        [XConfig("UpdateServiceConfig")]
//        public ServiceConfig UpdateServiceConfig { get; private set; }

//        #region static methods

//        public static string GetDataCacheDirectory()
//        {
//            return string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Cache\\Data\\");
//        }

//        public static string GetHostConfigFilePath()
//        {
//            return string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Config\\host.xml");
//        }

//        public static string GetSpareHostConfigFilePath()
//        {
//            return string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Config\\host.spare.xml");
//        }

//        public static string GetPartLibConfigFilePath()
//        {
//            return string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Config\\partlibs.xml");
//        }

//        /// <summary>
//        /// 获取方案的存放目录地址
//        /// </summary>
//        /// <param name="solution"></param>
//        /// <returns></returns>
//        public static string GetSolutionDirectoryPath(string solution)
//        {
//            return string.Format("{0}\\Coolzon\\DisplayApp\\v{1}\\Solution\\{2}\\", 
//                Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
//                Version3,
//                solution);
//        }

//        /// <summary>
//        /// 获得方案的配置文件的地址
//        /// </summary>
//        /// <param name="solution"></param>
//        /// <returns></returns>
//        public static string GetSolutionFilePath(string solution)
//        {
//            return string.Format("{0}\\Coolzon\\DisplayApp\\v{1}\\Solution\\{2}\\{2}.xml",
//                Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
//                Version3,
//                solution);
//        }

//        /// <summary>
//        /// 获取日志目录
//        /// </summary>
//        /// <returns></returns>
//        public static string GetLogDirectory()
//        {
//            return string.Format("{0}\\Coolzon\\Logs\\v{1}\\DisplayApp\\",
//                Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
//                Version4);
//        }

//        /// 获取程序的目录地址
//        /// </summary>
//        /// <returns></returns>
//        public static string GetBaseDirectory()
//        {
//            return AppDomain.CurrentDomain.BaseDirectory;
//        }

//        /// <summary>
//        /// 获取选择方案模式
//        /// </summary>
//        /// <returns></returns>
//        public static string GetSolutionSelectionMode()
//        {
//            try
//            {
//                string EnvironmentXmlPath = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Config\\Environment.xml");

//                XDocument xDoc = XDocument.Load(EnvironmentXmlPath);
//                XElement xElement = xDoc.Element("Environment");
//                return xElement.Element("SolutionSelectionMode").Attribute("Mode").Value.ToString();
//            }
//            catch (Exception)
//            {
//                return "ASM";
//            }
//        }

//        /// <summary>
//        /// 获取Environment.xml文件的地址
//        /// </summary>
//        /// <returns></returns>
//        public static string GetEnvironmentFilePath()
//        {
//            return string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Config\\Environment.xml"); ;
//        }

//        public static string GetSettingsFilePath()
//        {
//            return string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Config\\Settings.xml"); ;
//        }

//        #endregion
//    }
//}
